﻿// -----------------------------------------------------------------------
// <copyright file="IStudentRepository.cs" company="">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

using TPTecnicas.MessageProcessor.Common;

namespace TPTecnicas.MessageProcessor.Business.Repositories
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public interface IStudentRepository : IRepository<Student>
    {
        /// <summary>
        /// Checks if student is registered in current semester
        /// </summary>
        /// <param name="identificador">id or padron</param>
        /// <returns>Wheter or not the user is registered</returns>
        bool Registrado(string identificador);

        /// <summary>
        /// Subscribe el estudiante a la materia.
        /// </summary>
        /// <param name="student">The student.</param>
        /// <param name="subject">The subject.</param>
        void SubscribirAMateria(Student student, Subject subject);

        /// <summary>
        /// Checks if user has group in current semester
        /// </summary>
        /// <param name="identificador">id or padron</param>
        /// <returns>Wheter or not the user has a group</returns>
        bool TieneGrupo(string identificador);

        /// <summary>
        /// registers a padron in group
        /// </summary>
        /// <param name="student">The student.</param>
        /// <param name="group">The group.</param>
        void AnotarEnGrupo(Student student, Group group);


    }
}

